package boot.spring.mapper;

import boot.spring.model.entity.Intersection;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface IntersectionMapper {
    /**
     * 根据空间范围查询路口
     * @param bbox 边界框几何对象(WKT格式)
     * @return 范围内的路口列表
     */
    List<Intersection> findIntersectionsWithin(@Param("bbox") String bbox);
    
    /**
     * 根据缓冲距离查询附近路口
     * @param point 中心点几何对象(WKT格式)
     * @param distance 缓冲距离(米)
     * @return 附近的路口列表
     */
    List<Intersection> findIntersectionsNearby(
            @Param("point") String point, 
            @Param("distance") double distance);
    
    /**
     * 根据多边形范围查询路口
     * @param polygon 多边形几何对象(WKT格式)
     * @return 多边形内的路口列表
     */
    List<Intersection> findIntersectionsByPolygon(@Param("polygon") String polygon);
}